from comment.models import db
from sqlalchemy import ForeignKey
from datetime import datetime

class Letter(db.Model):
    '''
    收发消息的模型类
    '''
    __tablename__ = 't_letter'
    id = db.Column(db.BIGINT, primary_key=True, autoincrement=True)
    #todo 外键，关联关系，如果用户有很多字段，会查到很多数据，会影响数据库的查询效率的
    # 有2种方式，加关联关系字段和不加关联关系字段
    # 什么时候用关联关系relationship？关联关系不复杂（关联的模型类中字段少）的情况下使用
    sendID = db.Column(db.String(64), comment='发送者名字')
    recID = db.Column(db.BIGINT, comment='接受者ID')
    detail_id = db.Column(db.BIGINT, ForeignKey('t_letter_detail.id'), comment='消息详情主键')
    #todo userList=False:表示是一对一关联关系
    letter_detail = db.relationship('Letter_detail', backref=db.backref('letter', lazy=True))
    state = db.Column(db.Integer, comment='持否已读（0未读；1已读）')




class Letter_detail(db.Model):
    '''
    站内信详情的模型类，和收发消息的模型类是一对多的关联关系
    '''
    __tablename__ = 't_letter_detail'
    id = db.Column(db.BIGINT, primary_key=True, autoincrement=True)
    title = db.Column(db.String(64), comment='消息标题')
    detail = db.Column(db.String(256), comment='消息内容')
    pDate = db.Column(db.DateTime, default=datetime.now(), comment='发送时间')




